package com.miracle.shiro.config;

import com.sun.org.apache.xml.internal.dtm.ref.dom2dtm.DOM2DTMdefaultNamespaceDeclarationNode;
import org.apache.shiro.authz.AuthorizationException;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * @Author: rupert-tears
 * @Date: Created in 15:32 2021/7/17
 * @Description: 优秀的人都在孤独的翻山越岭！
 * 自定义异常基础控制器接口
 *
 */
public interface BaseErrorController {
    /**
     * 定义一个 default 默认方法 这个方法不需要实现它 jdk1.8新特性
     * 注意：
     *      如果当前方法需要视图页面就直接返回String
     *      如果需要返回JSON则需要添加@ResponseBody
     *
     * 对Shiro抛出的异常进行拦截
     * @return 友好的用户所见页面
     */
    @ExceptionHandler(value = {AuthorizationException.class})
    default String myError(){
        return "noperms";
    }
}
